package com.qcby.demo.annotation;

// 主类:主程序，创建账户并尝试进行转账操作，并处理正常和异常情况。
public class TransactionDemo {
    public static void main(String[] args) {
        Account accountA = new Account("账户A", 1000);
        // 第一笔转账成功提交，余额正确更新。
        Account accountB = new Account("账户B", 500);
        // 第二笔转账因余额不足而抛出异常，随后回滚操作会将资金从目标账户转回源账户。

        BankService bankService = new BankService(accountA, accountB);

        // 正常转账
        bankService.initiateTransfer(300);

        // 异常转账，模拟余额不足
        bankService.initiateTransfer(800);
    }
}
